package satk.tools;

/**
 * Clase para trabajar con las fechas
 * @author Sergio Flores Genis <http://sergenis.x10.mx>, 23/01/2011
 */
public final class ToolsDate {

    private static final String[] fullMes = new String[]{
        "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio",
        "Agosto", "Septiembre", "Octuble", "Noviembre", "Diciembre"
    };
    private static final String[] shortMes = new String[]{
        "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul",
        "Ago", "Sep", "Oct", "Nov", "Dic"
    };

    /**
     * <p>Obtiene el nombre completo del mes indicado</p>
     * <p>Enero -> 0, Febrero -> 1, ..., Diciembre -> 11</p>
     * @param month Mes del año (Enero -> 0)
     * @return
     */
    public static String getFullMes(int month) {
        return fullMes[month];
    }

    /**
     * </p>Obtiene el nombre corto del mes indicado</p>
     * <p>Enero -> 0, Febrero -> 1, ..., Diciembre -> 11</p>
     * @param month Mes del año (Ene -> 0)
     * @return
     */
    public static String getShortMes(int month) {
        return shortMes[month];
    }

    /**
     * Obtiene la fecha completa (dd/MMMM/aaaa)
     * @param dayMonth Dia del mes
     * @param month Mes del año (Enero -> 0)
     * @param year Año
     * @return 
     */
    public static String getFullDate(int dayMonth, int month, int year) {
        return String.format("%1$s de %2$s del %3$s", dayMonth, fullMes[month], year);
    }

    public static String getFullDate(int dayMonth, int month) {
        return String.format("%1$s de %2$s", dayMonth, fullMes[month]);
    }

    public static String getShortDate(int dayMonth, int month, int year) {
        return String.format("%1$s de %2$s del %3$s", dayMonth, shortMes[month], year);
    }

    public static String getShortDate(int dayMonth, int month) {
        return String.format("%1$s de %2$s del %3$s", dayMonth, shortMes[month]);
    }
}
